---
id: never
title: never类型
---

不可能或者不存在的类型。ts中的兜底类型。
never 是空集
满满的问号？？？ 这是什么类型。

```ts 
// 第一种类型是函数中报错的类型是never类型
function fail(message: string): never {
  throw new Error(message);
}

// 第二种是一直循环的函数是never类型
function loop(): never {
  while(true){
    console.log('loop')
  }
}


// 第三种 人为的创建出一个不存在的类型。
type uid = string & number;

```

:::tip never是所有类型的子类型。
 以下代码不会报错。

```ts 
const error = ():never =>{ throw new Error('error')} // 声明一个never类型

let str = 'abc';
let num = 123;
let bool = true;

str = error();
num = error();
bool = error();
```

:::